/**
 * 通过嵌套的方式声明包
 * -一个源文件中，可以声明多个不同的包
 * -子包中的类可以直接访问父包中的类，而不需要进行导包
 */


package com {   // 相当于 package com.mjf.scala.chapter06
  package mjf {
    object Outer {
      // 外层包中的类
      var outer = "outer"

      def main(args: Array[String]): Unit = {

      }
    }
    package scala {
      package chapter06 {
        object Inner {
          // 内层包中的类
          var inner = "inner"
          def main(args: Array[String]): Unit = {
            println(Outer.outer)
          }
        }
      }
    }
  }
}


package com {   // 相当于 package com.mjf.scala.chapter06
  package mjf {
    package scala {

        import com.mjf.scala.chapter06.Inner  // 需要进行导包，导包语句可以出现在任意位置

        object Scala03_TestPackage {
          def main(args: Array[String]): Unit = {
            println(Inner.inner)
          }
        }
    }
  }
}

